package com.jrx.anytxn.param.mapper.ext;

import com.jrx.anytxn.param.entity.GaSubjectDetailInfo;
import com.jrx.anytxn.param.mapper.base.GaSubjectDetailInfoMapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

public interface ExtGaSubjectDetailInfoMapper extends GaSubjectDetailInfoMapper {

    /**
     * 根据主键查询对象
     *
     * @param id 主键
     * @param tenantId 租户id
     * @return com.jrx.anytxn.accounting.entity.subjectdetail
     * @author Qingyao Xing
     * @date 2019/9/6 10:33
     */
    GaSubjectDetailInfo selectModalByIdAndTenId(@Param("id") Long id, @Param("tenantId") String tenantId);

    /**
     * 根据租户ID分页查询所有
     *
     * @param tenantId 租户ID
     * @return java.util.List<com.jrx.anytxn.accounting.entity.subjectdetail>
     * @author Qingyao Xing
     * @date 2019/9/6 10:20
     */
    List<GaSubjectDetailInfo> selectAllByPageAndTenId(@Param("tenantId") String tenantId,@Param("beginDate") String beginDate,@Param("endDate") String endDate,@Param("subjectId") String subjectId);

    /**
     * 根据索引查询
     * @param subjectId String
     * @param tenantId String
     * @param detailDate String
     * @return GaSubjectDetailInfo
     */
    GaSubjectDetailInfo selectByUnique(@Param("subjectId")String subjectId, @Param("tenantId")String tenantId, @Param("detailDate") Date detailDate);

    void batchInsert(List<GaSubjectDetailInfo> list);

    List<GaSubjectDetailInfo> selectAll();

    List<GaSubjectDetailInfo> findAmt();

    /**
     * 根据业务日期查询所有
     * @param detailDate
     * @return
     */
    List<GaSubjectDetailInfo> selectAllByDetailDate(@Param("detailDate") Date detailDate);

}